import boxBorder from "./box-border";
import otherItem from "./other-item";
import pageTable from "./page-table";
import imageUpload from "./image-upload";
import uEditor from "./u-editor";
import htmlContent from "./html-content";
import dragDiv from "./drag-div";
import cmScroll from "./cm-scroll";
import editor from "./editor";
import FlowDesigner from "./designer/FlowDesigner";
import TopTheme from "./theme/top-theme";
import TopMenu from "./top-menu/top-menu";
import UserSelect from "./user-select";
import Parser from "./form-designer/parser/Parser";
import labelInput from "./form-designer/label-input";
import FlowSee from "./designer/FlowSee";
import tagInput from "./form-designer/tag-input";
import szTagInput from "./form-designer/sz-tag-input";
import quickReply from "./form-designer/quick-reply";
import cityRuralSelect from "./form-designer/city-rural-select";
import treeSelectItem from "./form-designer/treeSelectItem.vue";
import szUpload from "./form-designer/sz-upload";
import szPanel from "./sz-panel";
import szForm from "./sz-form/sz-form";
import szFormItem from "./sz-form/sz-form-item";
import szSelect from "./form-designer/sz-select";

import szUserSelect from "./form-designer/sz-user-select";
import szMobileSelect from "./form-designer/sz-mobile-select";

import szCommonUpload from "./sz-common-upload";
import szDatePicker from "./sz-date-picker";
import pageHeader from "./page-header/index";
import szDialog from "./sz-dialog";
import szDragDialog from "./sz-drag-dialog";
import rateImg from "./sign/rateImg";
import szSearchForm from "./sz-search-form";
import szTableList from "./sz-table-list";
import pictureUpload from "./picture-upload";
import videoUpload from "./video-upload"
import szExcel from "./sz-excel/index";
import szBadge from "./sz-badge";
import workTime from "./workTime";

const plugin = {
  install: function(Vue) {
    Vue.component("city-rural-select", cityRuralSelect);
    Vue.component("tree-select-item", treeSelectItem);
    Vue.component("box-border", boxBorder);
    Vue.component("other-item", otherItem);
    Vue.component("page-table", pageTable);
    Vue.component("image-upload", imageUpload);
    Vue.component("u-editor", uEditor);
    Vue.component("html-content", htmlContent);
    Vue.component("drag-div", dragDiv);
    Vue.component("cm-scroll", cmScroll);
    Vue.component("editor", editor);
    Vue.component("flow-designer", FlowDesigner);
    Vue.component("top-theme", TopTheme);
    Vue.component("top-menu", TopMenu);
    Vue.component("user-select", UserSelect);
    Vue.component("parser", Parser);
    Vue.component("label-input", labelInput);
    // Vue.component("tag-input", tagInput);
    Vue.component("tag-input", szTagInput);
    Vue.component("sz-tag-input", szTagInput);
    Vue.component("flow-see", FlowSee);
    Vue.component("sz-upload", szUpload);
    Vue.component("sz-panel", szPanel);
    Vue.component("sz-form", szForm);
    Vue.component("sz-form-item", szFormItem);
    Vue.component("sz-quick-reply", quickReply);
    Vue.component("sz-select", szSelect);
    Vue.component("sz-user-select", szUserSelect);
    Vue.component("sz-common-upload", szCommonUpload);
    Vue.component("sz-date-picker", szDatePicker);
    Vue.component("sz-mobile-select", szMobileSelect);
    Vue.component("page-header", pageHeader);
    Vue.component("sz-dialog", szDialog);
    Vue.component("sz-drag-dialog", szDragDialog);
    Vue.component("rate-img", rateImg);
    Vue.component("sz-search-form", szSearchForm);
    Vue.component("sz-table-list", szTableList);
    Vue.component("picture-upload", pictureUpload);
    Vue.component("video-upload", videoUpload);
    Vue.component("sz-excel", szExcel);
    Vue.component("sz-badge", szBadge);
    Vue.component("work-time", workTime);
  }
};

export default plugin;
